Integrating State Charts in Specware and Aspects of Correct Oberon Code Generation

نویسنده

  • Philipp W. Kutter
چکیده

State charts are nite state machines with hierarchical structuring and several models of communication. They are widely used in hardware, software, and communication industries to specify reactive and concurrent systems. In absence of a common semantics for state charts, we use Evolving Algebras, that showed to be powerful enough to model all types of sequential, parallel, distributed and real-time applications of dynamic systems. The generality of evolving algebras allows to mimic all state chart dialects. We use a many-sorted higher-order logic algebraic speci cation language with loose semantics to describe the states of evolving algebras. We have found that the hierarchical structuring operations of state charts coincide with the basic composition operations of the used speci cation language SLANG. We do not have to provide the complicated communication mechanisms existing in many state chart dialects, since SLANG is powerful enough to specify them upon need. SLANG supports constructions for re nement, that can be \misused" to express the transitions of the state charts. After we have embedded a state chart speci cation in SLANG, we can develop formally a correct and e cient implementation from it. This allows the use of state chart methodologies to develop software for safety-critical systems. In order to make the approach usable we will base our work on Specware, a support system for SLANG-speci cations under development at Kestrel Institute. The Specware framework will allow for correctness maintaining optimization using the capabilities of the Kids system, which the Kestrel Institute is currently integrating in Specware. To extend the code generation capabilities of Specware to transition systems we implement the transitions as destructive assignments. We use the programming language Oberon as the back-end. The Evolving Algebras semantics for both Oberon and the transitions facilitates the correctness proof of the code generation.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Toward Automatic Generation of Provably Correct Java Card Applets

This paper overviews an ongoing project aimed at developing an automatic generator of Java Card applets from higher-level spec(ification)s written in a domain-specific language called “SmartSlang”. The generator is based on Specware, a system for the formal specification and refinement of software. The applet generator translates a SmartSlang spec into the logical language of Specware, re-expre...

متن کامل

Puck - A Visual Programming System for Schools

There are many visual programming languages for education but they are poorly used in German schools as most do not fit the requirements of the various curricula. This paper introduces a new visual programming language called Puck, that has been developed at the Friedrich Schiller University, Jena, in accordance with the wishes of teachers in Thuringia (a federal state of Germany). The visualis...

متن کامل

ZOOM - Automatic Code Generation: UML State Charts to Executable Java Code Meta-model, translation engine and FSM framework design

Design of software that is of high quality, easily extensible and reusable are key requirements of any software project. Dynamic code generation has been touted as a promising emerging technique for achieving these software development goals. The overall goals of this project were to develop a finite state machine (fsm) framework and tools to specify and translate ZOOM behavioral models i.e. UM...

متن کامل

Roundtrip Engineering with FUJABA 1

1 Introduction Typically, UML is used in the early software development phases. Use-case diagrams serve for requirements analysis. During object-oriented analysis and design, the different use-cases are refined by a number of scenarios using sequence diagrams, collaboration diagrams or activity diagrams. In more elaborated cases, state-charts may be used to specify exact (object) behaviour. In ...

متن کامل

The Architecture of SPECWARE

Specware is a tool that supports the modular construction of formal speciications and the stepwise and componentwise reenement of such speciications into executable code. Specware may be viewed as a visual interface to an abstract data type providing a suite of composition and transformation operators for building speciications, reenements, code modules, etc. This view has been realized in the ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1996